# -*- coding: utf-8 -*-
# @Time        :2024/10/14 下午6:13
# @Author      :文刀水寿
# @File        : main.py
"""
 @Description :
 面向对象，数据分析案例，主业务逻辑代码
 实现步骤：
 1。 设计一个类，可以完成数据的 封装
 2.  设计一个抽象类，定义文件读取的相关功能，并使用子类实现具体功能
 3.  读取文件，生产数据对象
 4.  进行数据需求的逻辑计算（计算每一天的销售额）
 4。  通过PyEcharts进行图形绘制
"""
from file_define import TextFileReader, JsonFileReader
from data_define import Record
from pymysql import Connection

text_file_reader = TextFileReader("D:/mm.txt")
json_file_reader = JsonFileReader("D:/2011年2月销售数据JSON.txt")

jan_data: list[Record] = text_file_reader.read_data()
feb_data: list[Record] = json_file_reader.read_data()
# 将2个月份的数据合并为1个list来存储

all_data: list[Record] = jan_data + feb_data
# 构建MYSQL链接对象
conn = Connection(
    host='localhost',
    port=3306,
    user='root',
    password='1028',
    autocommit=True
)
# 获得游标对象
cursor = conn.cursor()
# 选择数据库
conn.select_db("py_sql")
# 组织sql语句
for record in all_data:
    sql = f"insert into orders(order_date, order_id, money, province)" \
          f"values('{record.date}', '{record.order_id}', '{record.money}', '{record.province}')"
    # 执行sql语句
    cursor.execute(sql)

# 关闭mysql链接对象
conn.close()
